using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;

namespace FunctionInterface
{
	/// <summary>
	/// I process command.
	/// </summary>
    public interface IProcessCommand : ICommandsList
	{
		event OutputMessageEventHandler OutputMessage;
		
		Context Context {get; set;}
		
		/// <summary>
		/// Process the specified command.
		/// </summary>
		/// <param name='command'>
		/// If set to <c>true</c> command.
		/// </param>
		void Process(string command);
		
		/// <summary>
		/// Validate the specified command.
		/// </summary>
		/// <param name='command'>
		/// If set to <c>true</c> command.
		/// </param>
		bool Validate(string command);
	}

}

